package com.java.simple.study.jvm.gc;

import java.util.ArrayList;
import java.util.List;

/**
 * @author zhoujunlin
 * @date 2021/12/18
 * @desc 演示垃圾回收信息
 * -Xms20m -Xmx20m -Xmn10m -XX:+UseSerialGC -XX:+PrintGCDetails -verbose:gc
 **/
public class Demo7_1 {

    private static final int _512KB = 512 * 1024;
    private static final int _1MB = 1 * 1024 * 1024;
    private static final int _6MB = 6 * 1024 * 1024;
    private static final int _7MB = 7 * 1024 * 1024;
    private static final int _8MB = 8 * 1024 * 1024;

    public static void main(String[] args) {
        List<byte[]> list = new ArrayList<>(); // 声明一个GCRoot对象
        list.add(new byte[_7MB]);     // 存入伊甸园 资源紧张 触发一次Minor GC  eden和from均占有数据
        list.add(new byte[_512KB]);  // 相安无事
        list.add(new byte[_512KB]); // 再次触发Minor GC，From区和伊甸园的部分对象晋升到老年代 寿命并没有到达15
    }
}
